Technical Q&A
DV 27 - Device Driver Flags (10-March-97)
Q
I'm debugging my PCI native driver and notice that the dCtlFlags field of my
Device Control Entry (DCE) has some undocumented bits set.
What do these flags mean?
A
The current bits in the dCtlFlags field of the DCE are:
- bit 0 --
VMImmune -- This bit indicates that your device driver is VM
safe. See
Technote NW 13 for details.
- bit 1 -- reserved
- bit 2 --
kmDriverGestaltEnableMask (in "DriverGestalt.h") is set if the
driver supports the Driver Gestalt mechanism. See "Designing PCI Cards and
Drivers for Power Macintosh Computers" for a description of Driver Gestalt.
- bit 3 -- Native Driver -- Set if the driver is a native driver (
ndrv ).
The system will set this bit when it loads your native driver.
- bit 4 -- Concurrent -- Set if the native driver supports concurrent
operation. When loading a native driver, the system sets this bit based on the
kDriverIsConcurrent field of the driverOSRuntimeInfo.driverRuntime field of your
DriverDescription. See "Designing PCI Cards and Drivers for Power Macintosh
Computers" for a description of concurrent drivers.
- bit 5 --
dOpenedMask (in "Devices.h") is set if the driver is open.
- bit 6 --
dRAMBasedMask (in "Devices.h") is set if the dCtlDriver field
is a DRVRHeaderHandle rather than aDRVRHeaderPtr .
- bit 7 --
drvrActiveMask (in "Devices.h") is set if the driver is
currently processing a request.
- bit 8 --
dReadEnableMask (in "Devices.h") is set if the driver handles
_Read requests.
- bit 9 --
dWritEnableMask (in "Devices.h") is set if the driver handles
_Write requests.
- bit 10 --
dCtlEnableMask (in "Devices.h") is set if the driver handles
_Control requests.
- bit 11 --
dStatEnableMask (in "Devices.h") is set if the driver handles
_Status requests.
- bit 12 --
dNeedGoodByeMask (in "Devices.h") is set if the driver needs a
"goodbye" _Control call before the application heap is reinitialized.
- bit 13 --
dNeedTimeMask (in "Devices.h") is set if the driver wants
periodic SystemTask time through the "accRun" _Control call.
- bit 14 --
dNeedLockMask (in "Devices.h") is set if the driver requires
that its DCE and code be locked at all times when the driver is open.
- bit 15 -- reserved
See
"Inside Macintosh:Devices" for more information about bits 5 through to 14.
-- Quinn "The Eskimo!"
Worldwide Developer Technical Support
Technical Q&A
Previous Question |
Contents |
Next Question
To contact us, please use the Contact Us page.
|